﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLL;

public partial class admin_ConfigProduct_ListLabel : System.Web.UI.Page
{
    LabelBLL colourData = new LabelBLL();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Session["url_back_admin"] = Request.RawUrl;
           // LoadMode();
            ShowData();
        }
    }

    //private void LoadMode()
    //{
    //    dropMode.Items.Clear();
    //    ShowChild(0, " - - ");
    //}
    //ProdCateBLL categoryData = new ProdCateBLL();
    //private void ShowChild(int parentId, string space)
    //{
    //    List<ProdCate> listDataSource = categoryData.GetByParent(parentId);

    //    foreach (ProdCate item in listDataSource)
    //    {
    //        ListItem obj = new ListItem(space + item.Name, item.Id.ToString());
    //        dropMode.Items.Add(obj);

    //        ShowChild(item.Id, space + "- - - ");
    //    }
    //}
    //private void LoadMode()
    //{
    //  dropMode.Items.Clear();
    //  XElement xElement = XElement.Load(MyConfig.serverPath + "XML/Config.xml");
    //  var xPosition = xElement.Descendants("ProductMode").Descendants("Mode");
    //  foreach (XElement item in xPosition)
    //  {
    //    dropMode.Items.Add(new ListItem(item.Element("Name").Value, item.Attribute("Id").Value));
    //  }
    //}
    private void ShowData()
    {
        //int mode = -1;
        //int PageRow = Convert.ToInt32(dropPageSize.SelectedValue);
        //gridView.PageSize = PageRow;
        //if (dropMode.Items.Count > 0)
        //    mode = Convert.ToInt32(dropMode.SelectedValue);

        //if (mode != -1)
        //    gridView.DataSource = colourData.GetByMode(mode);
        //else
            gridView.DataSource = colourData.GetAll();
        gridView.DataBind();
    }
    protected void gridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        lbThongBao.Text = "";
        try
        {
            gridView.PageIndex = e.NewPageIndex;
            ShowData();
        }
        catch { }
    }
    protected void gridView_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        if ((int)Session["Role"] != 1)
        {
            lbThongBao.Text = "Bạn không có quyền thực hiện thao tác này ! ";
            return;
        }
        try
        {
            lbThongBao.Text = "";
            int id = Convert.ToInt32(gridView.Rows[e.RowIndex].Cells[2].Text);
            //string strImage = colourData.GetById(id).Color;
            //ProductBLL productData = new ProductBLL();
            //int count = productData.GetByColour(id).Count;
            //if (count > 0)
            //{
            //    Myfunction.ThongBao(lbThongBao, "Hiện tại có " + count + " sản phẩm có trạng thái này ! Bạn phải xóa các sản phẩm đó trước khi xóa cấu hình trạng thái");
            //    return;
            //}
            //delete image
            //Myfunction.DeleteFile("Images/Label", strImage);
            colourData.Delete(id);
            Myfunction.ThongBao(lbThongBao, "Label đã được xóa");

            ShowData();
        }
        catch (Exception ex)
        {
            Myfunction.ThongBao(lbThongBao, ex.Message);
        }
    }

    protected void btnAdd_Click(object sender, EventArgs e)
    {
        Response.Redirect("~/admin/ConfigProduct/LabelDetail.aspx");
    }

    protected void btnXoaChon_Click(object sender, EventArgs e)
    {
        if ((int)Session["Role"] != 1)
        {
            lbThongBao.Text = "Bạn không có quyền thực hiện thao tác này ! ";
            return;
        }
        try
        {
            lbThongBao.Text = "";
            bool exit = false;
            ProductBLL productData = new ProductBLL();
            foreach (GridViewRow item in gridView.Rows)
            {
                foreach (Control ctrl in item.Cells[1].Controls)
                {
                    if (ctrl.GetType() == typeof(CheckBox))
                    {
                        CheckBox check = (CheckBox)ctrl;
                        if (check.Checked)
                        {
                            int id = Convert.ToInt32(item.Cells[2].Text);

                            //int count = productData.GetByStatus(id).Count;
                            //if (count > 0)
                            //{
                            //    Myfunction.ThongBao(lbThongBao, "Hiện tại có " + count + " sản phẩm có trạng thái này ! Bạn phải xóa các sản phẩm đó trước khi xóa cấu hình trạng thái");
                            //    exit = true;
                            //    break;
                            //}

                            //Delete image
                            //string strImage = colourData.GetById(id).Color;
                            //Myfunction.DeleteFile("Images/Colour", strImage);
                            colourData.Delete(id);
                        }
                        break;
                    }
                }
                if (exit) break;
            }
            ShowData();
        }
        catch (Exception ex)
        {
            Myfunction.ThongBao(lbThongBao, ex.Message);
        }
    }
    protected void linkCheckAll_Click(object sender, EventArgs e)
    {
        lbThongBao.Text = "";
        foreach (GridViewRow item in gridView.Rows)
        {
            foreach (Control ctrl in item.Cells[1].Controls)
            {
                if (ctrl.GetType() == typeof(CheckBox))
                {
                    CheckBox check = (CheckBox)ctrl;
                    check.Checked = true;
                    break;
                }
            }
        }
    }
    protected void linkUnCheckAll_Click(object sender, EventArgs e)
    {
        lbThongBao.Text = "";
        foreach (GridViewRow item in gridView.Rows)
        {
            foreach (Control ctrl in item.Cells[1].Controls)
            {
                if (ctrl.GetType() == typeof(CheckBox))
                {
                    CheckBox check = (CheckBox)ctrl;
                    check.Checked = false;
                    break;
                }
            }
        }
    }
    protected void dropCountRow_SelectedIndexChanged(object sender, EventArgs e)
    {
        lbThongBao.Text = "";
        gridView.PageSize = Convert.ToInt32(dropPageSize.SelectedValue);
        ShowData();
    }
    //protected void dropMode_SelectedIndexChanged(object sender, EventArgs e)
    //{
    //    lbThongBao.Text = "";
    //    ShowData();
    //}
}